---
title: PdfAPI.Core dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-17
library: PdfAPI.Core
reference_type: package
---

# PdfAPI.Core dependencies

PdfAPI.Core is the base of the repository's reference graph: it declares no `<ProjectReference>` entries and has no internal (same-repo) library dependencies, but it consumes three external NuGet packages and is itself packaged (with source) into two downstream NuGet packages consumed by other projects.

## Internal dependencies

PdfAPI.Core has no internal (same-repo) project or NuGet dependencies. `PdfAPI.Core.csproj` declares no `<ProjectReference>` elements, and Stage 1 analysis confirms it is depended on by every other project in the repository (`PdfAPI`, `PdfAPI.SyncFusionCore`, `PdfAPI.Client`) while depending on none of them in return.

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| iTextSharp | 5.5.11 | `PdfClientService` uses `iTextSharp.text.pdf.PdfReader`, `PdfStamper`, `PdfCopy`, and `iTextSharp.text.Document` for PDF inspection, form-field detection/flattening, and page extraction. `PdfClientService.ExtractPageRanges` exposes `iTextSharp.text.pdf.PdfReader` directly in its public signature, making iTextSharp compile-time visible to package consumers that call it. |
| Newtonsoft.Json | 8.0.3 | `[JsonConstructor]` attributes on `Document`, `PdfResult`, `PdfTrackingInfo`, and `PageRange` support deserialization of types that otherwise expose only internal constructors. |
| SAIF.Framework.Common | 2.0.22074.3 | `SAIF.Common.Extensions.ToStringAll(",")` is used in `DocumentRange.ToString()`. This reference is what classifies the library as `framework4`. |

## Dependency risks and notes

- Several BCL assembly references declared in `PdfAPI.Core.csproj` (`System.Drawing`, `System.Data`, `System.Data.DataSetExtensions`) appear to be unused template defaults — no source file references any type from them.*
- `System.Web` appears in `using` directives of `Document.cs`, `Extract\DocumentRange.cs`, `Extract\PageRange.cs`, and `PdfStatus.cs`, but is not in the project's `<Reference>` list and no `System.Web` type is used in compiled code — these are unused usings inherited from earlier project scaffolding.*
- iTextSharp 5.5.11 was released in 2016; `PdfReader`, `PdfStamper`, and `PdfCopy` are invoked directly on caller-supplied, potentially untrusted bytes with no version-specific advisory check performed as part of this analysis.**
- `PdfAPI.Core` is packaged (compiled DLL plus full `.cs` source tree) into two separate NuGet packages that also carry their own dependency sets: `Pdf.Local.Client` (depends on `iTextSharp` 5.5.11 and nine `Syncfusion.*` 17.4.0.46 packages, alongside `PdfAPI.SyncFusionCore.dll`) and `PdfAPI.Client` (depends on `SAIF.Framework.Common` 1.0, `SAIF.Web.API.Clients` 1.0, and `iTextSharp` 5.5.11). Neither package declares a dependency on the other; both bundle `PdfAPI.Core` directly rather than referencing it as a package.
- Both nuspecs target `lib\net45`, while `PdfAPI.Core.csproj` targets .NET Framework v4.6.2 — the packages advertise a lower target framework than the assembly is compiled against.
- Because both nuspecs glob `PdfAPI.Core\**\*.cs` into `src\PdfAPI.Core`, the non-compiled `PdfAPI.Core.v1.*` and `PdfAPI.Services.PdfSettings` source files reach consumers as source-only artifacts that cannot be used from the referenced `PdfAPI.Core.dll`.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `PdfAPI.Core\PdfAPI.Core.csproj`
- `PdfAPI.Core\packages.config`
- `PdfAPI.Core\Extract\DocumentRange.cs`
- `PdfAPI.Core\Services\PdfClientService.cs`
- `PdfAPI.Core\Document.cs`
- `PdfAPI.Core\PdfStatus.cs`
- `Pipelines\build-local-nuget.yml`
- `Pipelines\build-vars-local-nuget.yml`
- `Pipelines\build-client.yml`
- `Pipelines\build-vars-client.yml`
- `Scripts\Pdf.Local.Client\Pdf.Local.Client.nuspec`
- `Scripts\PdfAPI.Client\PdfAPI.Client.nuspec`
- `nuget.config`
